/**
 * 
 */
package org.yelongframework.model.support.mybatis.mapping.result;

import java.util.List;

import org.apache.ibatis.builder.MapperBuilderAssistant;
import org.apache.ibatis.mapping.ResultMap;
import org.apache.ibatis.session.Configuration;
import org.yelongframework.model.manager.ModelAndTable;

/**
 * 结果映射建造者
 * 
 * @since 1.0.0
 */
public interface ResultMapBuilder {

	// ==================================================构建结果映射==================================================

	/**
	 * 构建结果映射集合
	 * 
	 * @param modelAndTable 模型表
	 * @param configuration 配置
	 * @return 结果映射集合
	 */
	List<ResultMap> build(ModelAndTable modelAndTable, Configuration configuration);

	/**
	 * 构建结果映射集合
	 * 
	 * @param modelAndTable 模型表
	 * @param assistant     映射构建助手
	 * @return 结果映射集合
	 */
	List<ResultMap> build(ModelAndTable modelAndTable, MapperBuilderAssistant assistant);

}
